Gesture matching mechanism

ABSTRACT

Example gesture matching mechanisms are disclosed herein. An example machine readable storage device or disc includes instructions that, when executed, cause programmable circuitry to at least: prompt a user to perform gestures to register the user, randomly select at least one of the gestures for authentication of the user, prompt the user to perform the at least one selected gesture, translate the gesture into an animated avatar for display at a display device, the animated avatar including a face, analyze performance of the gesture by the user, and authenticate the user based on the performance of the gesture.

RELATED APPLICATIONS

This patent arises as a continuation of U.S. patent application Ser. No.17/066,138, which was filed Oct. 8, 2020, and U.S. patent applicationSer. No. 14/911,390, now U.S. Pat. No. 10,803,157, which was filed Feb.10, 2016, and which is a nationalization of International ApplicationNo. PCT/CN2015/075339, filed on Mar. 28, 2015. U.S. patent applicationSer. No. 17/066,138, U.S. patent application Ser. No. 14/911,390, andInternational Application No. PCT/CN2015/075339 are hereby incorporatedherein by reference in their entireties. Priority to U.S. patentapplication Ser. No. 17/066,138, U.S. patent application Ser. No.14/911,390, and International Application No. PCT/CN2015/075339 ishereby claimed.

FIELD

Embodiments described herein generally relate to computers. Moreparticularly, embodiments relate to a mechanism for gesture matching.

BACKGROUND

Authentication is implemented in computer security applications toconfirm the identify of an individual that is attempting to use acomputer system. Common authentication systems may employ biometric(e.g., fingerprint and/or facial recognition) applications toauthenticate a user. However, such systems may be subject to counterfeitmeasures.

BRIEF DESCRIPTION OF THE DRAWINGS

Embodiments are illustrated by way of example, and not by way oflimitation, in the figures of the accompanying drawings in which likereference numerals refer to similar elements.

FIG. 1 illustrates a gesture matching mechanism at a computing deviceaccording to one embodiment.

FIG. 2 illustrates a gesture matching mechanism according to oneembodiment.

FIG. 3 illustrates avatars displayed by gesture matching mechanism.

FIG. 4 is a flow diagram illustrating the operation of a gesturematching mechanism according to one embodiment.

FIG. 5 illustrates a computer system suitable for implementingembodiments of the present disclosure according to one embodiment.

DETAILED DESCRIPTION

In the following description, numerous specific details are set forth.However, embodiments, as described herein, may be practiced withoutthese specific details. In other instances, well-known circuits,structures and techniques have not been shown in details in order not toobscure the understanding of this description.

Embodiments provide for a gesture matching mechanism that learnsgestures and performs user authentication based on the learned gestures.In one embodiment, the gesture matching mechanism learns gestures duringa registration phase in which a user registers a number of gestures forlater recognition of a user. Subsequently during an authenticationphase, a user is prompted to perform a gesture selected from a databasein order to determine whether the user's gesture performance matches theselected gesture. The user is authenticated if a match is detected. Inother embodiment, the gesture matching mechanism may be implemented toscreen for health warnings by monitoring a user's facial movement overtime to detect changes that may indicate a health problem. In a furtherembodiment, the gesture matching mechanism may be implemented to performgame control, as well as other applications.

FIG. 1 illustrates a gesture matching mechanism 110 at a computingdevice 100 according to one embodiment. In one embodiment, computingdevice 100 serves as a host machine for hosting gesture matchingmechanism 110 that includes a combination of any number and type ofcomponents for facilitating authentication, health indication and/orgame control based on gesture recognition at computing devices, such ascomputing device 100. Computing device 100 may include large computingsystems, such as server computers, desktop computers, etc., and mayfurther include set-top boxes (e.g., Internet-based cable televisionset-top boxes, etc.), global positioning system (GPS)-based devices,etc. Computing device 100 may include mobile computing devices, such ascellular phones including smart-phones, personal digital assistants(PDAs), tablet computers, laptop computers (e.g., notebook, netbook,Ultrabook™, etc.), e-readers, etc.

Computing device 100 may include an operating system (OS) 106 serving asan interface between hardware and/or physical resources of the computerdevice 100 and a user. Computing device 100 further includes one or moreprocessors 102, memory devices 104, network devices, drivers, or thelike, as well as input/output (I/O) sources 108, such as touchscreens,touch panels, touch pads, virtual or regular keyboards, virtual orregular mice, etc. It is to be noted that terms like “node”, “computingnode”, “server”, “server device”, “cloud computer”, “cloud server”,“cloud server computer”, “machine”, “host machine”, “device”, “computingdevice”, “computer”, “computing system”, and the like, may be usedinterchangeably throughout this document. It is to be further noted thatterms like “application”, “software application”, “program”, “softwareprogram”, “package”, and “software package” may be used interchangeablythroughout this document. Similarly, terms like “job”, “input”,“request” and “message” may be used interchangeably throughout thisdocument.

FIG. 2 illustrates a gesture matching mechanism 110 according to oneembodiment. In one embodiment, gesture matching mechanism 110 may beemployed at computing device 100, such as a laptop computer, a desktopcomputer, a smartphone, a tablet computer, etc. In one embodiment,gesture matching mechanism 110 may include any number and type ofcomponents, such as: reception and capturing logic 201, gesture trainingmodule 202, gesture selection engine 203, avatar animation and renderingengine 204, gesture matching component 205 and gesture learning module206.

In one embodiment, reception and capturing logic 201 facilitates animage capturing device implemented at image sources 225 at computingdevice 100 to receive and capture an image associated with a user, suchas a live and real-time image of a user. As the live image of the useris received and captured, the user's movements may be continuously, andin real-time, detected and tracked in live video frames. In embodiments,reception and capturing logic 201 may receive image data from imagesource 225, where the image data may be in the form of a sequence ofimages or frames (e.g., video frames). Image sources 225 may include animage capturing device, such as a camera. Such a device may includevarious components, such as (but are not limited to) an optics assembly,an image sensor, an image/video encoder, etc., that may be implementedin any combination of hardware and/or software. The optics assembly mayinclude one or more optical devices (e.g., lenses, mirrors, etc.) toproject an image within a field of view onto multiple sensor elementswithin the image sensor. In addition, the optics assembly may includeone or more mechanisms to control the arrangement of these opticaldevice(s). For example, such mechanisms may control focusing operations,aperture settings, exposure settings, zooming operations, shutter speed,effective focal length, etc. Embodiments, however, are not limited tothese examples.

Image sources 225 may further include one or more image sensorsincluding an array of sensor elements where these elements may becomplementary metal oxide semi-conductor (CMOS) sensors, charge coupleddevices (CCDs), or other suitable sensor element types. These elementsmay generate analog intensity signals (e.g., voltages), which correspondto light incident upon the sensor. In addition, the image sensor mayalso include analog-to-digital converter(s) ADC(s) that convert theanalog intensity signals into digitally encoded intensity values.Embodiments, however, are not limited to these examples. For example, animage sensor converts light received through optics assembly into pixelvalues, where each of these pixel values represents a particular lightintensity at the corresponding sensor element. Although these pixelvalues have been described as digital, they may alternatively be analog.As described above, the image sensing device may include an image/videoencoder to encode and/or compress pixel values. Various techniques,standards, and/or formats (e.g., Moving Picture Experts Group (MPEG),Joint Photographic Expert Group (JPEG), etc.) may be employed for thisencoding and/or compression.

As aforementioned, image sources 225 may be any number and type ofcomponents, such as image capturing devices (e.g., one or more cameras,etc.) and image sensing devices, such as (but not limited to)context-aware sensors (e.g., temperature sensors, facial expression andfeature measurement sensors working with one or more cameras,environment sensors (such as to sense background colors, lights, etc.),biometric sensors (such as to detect fingerprints, facial points orfeatures, etc.), and the like. Computing device 100 may also include oneor more software applications, such as business applications, socialnetwork websites, business networking websites, communicationapplications, games and other entertainment applications, etc., offeringone or more user interfaces (e.g., web user interface (WUI), graphicaluser interface (GUI), touchscreen, etc.) to display the gesture matchingand for the user to communicate with other users at other computingdevices, while ensuring compatibility with changing technologies,parameters, protocols, standards, etc.

According to one embodiment, gesture matching mechanism 110 operates intwo phases. One such phase is a registration phase in which a userregisters a number of gestures. In such an embodiment, gesture trainingmodule 202 capture a multitude of gestures for later recognition of auser. In one embodiment, gesture training module 202 identifies newgestures from user images captured at reception and capturing logic 201and adds the gestures to database 240 as animation parameters. Accordingto one embodiment, each new gesture defines a combination of a pose orexpression in a single frame. In other embodiments, each gesture definesa sequence of poses or expressions occurring within a predetermined timeframe (e.g., seconds). In some embodiments, database 240 may be used torecord, store, and maintain data relating to various gestures such ashuman head, facial, hand and/or finger movements. These gestures may berecorded as sequences of frames where each frame may include multiplefeatures. Database 240 may include a data source, an information storagemedium, such as memory (volatile or non-volatile), disk storage, opticalstorage, etc.

The second phase is an authentication phase in which a user isauthenticated based on recognition of a gesture. In one embodiment, auser is prompted to perform a gesture selected from database 240 inorder to determine whether the user's gesture performance matches theselected gesture. Gesture selection engine 203 is implemented torandomly select a gesture from database 240 for user authentication.Avatar animation and rendering engine 204 translates the selectedgesture into an animated avatar on display 230. Display device 230 maybe implemented with various display(s) including (but are not limitedto) liquid crystal displays (LCDs), light emitting diode (LED) displays,plasma displays, and cathode ray tube (CRT) displays.

In one embodiment, display screen or device 230 visually outputs theavatar to the user. In further embodiments, avatar animation andrendering engine 204 uses Intel® Pocket Avatars®, which blends shapes toanimate a selected avatar. In this embodiment, a facial gesture (e.g.,mouth open, eye wink, etc.) may be represented by the blend shapeparameters that correspond to facial gesture data. FIG. 3 illustratesone embodiment of avatars corresponding to selected gestures that aredisplayed by avatar animation and rendering engine 204. As shown in FIG.3 , an avatar dynamically poses facial/head gestures.

According to one embodiment, avatar animation and rendering engine 204facilitates the prompting of a user to perform the pose of the displayedavatar. Referring back to FIG. 2 , reception and capturing logic 201captures the user's response. According to one embodiment, reception andcapturing logic 201 captures video within a predetermined time window.Subsequently, gesture matching component 205 compares the capturedgesture response with the selected gesture by analyzing the video frameto identify whether the same gesture appears in the predetermined timeperiod.

Gesture matching component 205 automatically selects a key frame anddetermines the temporal sequence across multiple frames to compare theuser's input (e.g., performed gesture) with database 240 to determine ifthe input matches the selected gesture. In one embodiment, the user'sgesture is recorded as a sequence oft frames: G_(user)={p₁, p₂ . . .p_(i),}, where p_(i), is the pose and expression parameters for the ithframe. Similarly, each gesture in the database can be represented as asequence of s frames: G_(database)={p₁, p₂ . . . p_(s)}. G_(user) andG_(database) are compared by a temporal sequence matching method, suchas Dynamic Time Warping. If there is a match, the user is authenticated.Gesture learning module 207 identifies new gestures performed by theuser and adds the new gestures to database 240. For instance, ifG_(user) doesn't match any gestures database 240, database 240 isupdated to include this new gesture. As a result, different gestures maybe used for subsequent authentication of the user.

It is contemplated that any number and type of components 201-240 ofgesture matching mechanism 110 may not necessarily be at a singlecomputing device and may be allocated among or distributed between anynumber and type of computing devices, including computing device 100having (but are not limited to) server computing devices, cameras, PDAs,mobile phones (e.g., smartphones, tablet computers, etc.), personalcomputing devices (e.g., desktop devices, laptop computers, etc.), smarttelevisions, servers, wearable devices, media players, any smartcomputing devices, and so forth. Further examples includemicroprocessors, graphics processors or engines, microcontrollers,application specific integrated circuits (ASICs), and so forth.Embodiments, however, are not limited to these examples.

FIG. 4 is a flow diagram illustrating a method 400 for facilitatingauthentication of a user at a gesture matching mechanism operating on acomputing device according to one embodiment. Method 400 may beperformed by processing logic that may comprise hardware (e.g.,circuitry, dedicated logic, programmable logic, etc.), software (such asinstructions run on a processing device), or a combination thereof. Inone embodiment, method 400 may be performed by gesture matchingmechanism 110. The processes of method 400 are illustrated in linearsequences for brevity and clarity in presentation; however, it iscontemplated that any number of them can be performed in parallel,asynchronously, or in different orders. For brevity, clarity, and easeof understanding, many of the details discussed with reference to FIGS.1 and 2 are not discussed or repeated here.

Method 400 begins at block 410 with a gesture being selected fromdatabase 240. At processing block 420, the selected gesture is displayedas an avatar. At processing block 430, the user is prompted to poseaccording to a gesture being displayed by the avatar. At processingblock 440 the user pose is captured. At processing block 450, videoframe data comprising the user pose is analyzed. At decision block 460,a determination is made as to whether the captured pose includes agesture that matches the selected gesture. If not, control is returnedto processing block 410, where another gesture is selected forauthentication. If there is a determination that the captured poseincludes a gesture that matches the selected gesture, the user isauthenticated at processing block 470. At decision block 480, adetermination is made as to whether one or more poses includedunrecognized gestures. If so, the gestures are added to the database,processing block 490.

Although described with reference to authentication, other embodimentsmay feature gesture matching mechanism 110 being implemented to screenfor health warnings. In such embodiments, gesture matching mechanism 110may monitor a user's facial movement (e.g., mouth) over time and analyzethe movements for micro changes that may indicate a stroke. In a furtherembodiment, gesture matching mechanism 110 may be implemented to performgame control.

FIG. 5 illustrates one embodiment of a computer system 500. Computingsystem 500 includes bus 505 (or, for example, a link, an interconnect,or another type of communication device or interface to communicateinformation) and processor 510 coupled to bus 505 that may processinformation. While computing system 500 is illustrated with a singleprocessor, electronic system 500 and may include multiple processorsand/or co-processors, such as one or more of central processors,graphics processors, and physics processors, etc. Computing system 500may further include random access memory (RAM) or other dynamic storagedevice 520 (referred to as main memory), coupled to bus 505 and maystore information and instructions that may be executed by processor510. Main memory 520 may also be used to store temporary variables orother intermediate information during execution of instructions byprocessor 510.

Computing system 500 may also include read only memory (ROM) and/orother storage device 530 coupled to bus 505 that may store staticinformation and instructions for processor 510. Date storage device 540may be coupled to bus 505 to store information and instructions. Datestorage device 540, such as magnetic disk or optical disc andcorresponding drive may be coupled to computing system 500.

Computing system 500 may also be coupled via bus 505 to display device550, such as a cathode ray tube (CRT), liquid crystal display (LCD) orOrganic Light Emitting Diode (OLED) array, to display information to auser. User input device 560, including alphanumeric and other keys, maybe coupled to bus 505 to communicate information and command selectionsto processor 510. Another type of user input device 560 is cursorcontrol 570, such as a mouse, a trackball, a touchscreen, a touchpad, orcursor direction keys to communicate direction information and commandselections to processor 510 and to control cursor movement on display550. Camera and microphone arrays 590 of computer system 500 may becoupled to bus 505 to observe gestures, record audio and video and toreceive and transmit visual and audio commands.

Computing system 500 may further include network interface(s) 580 toprovide access to a network, such as a local area network (LAN), a widearea network (WAN), a metropolitan area network (MAN), a personal areanetwork (PAN), Bluetooth, a cloud network, a mobile network (e.g., 3rdGeneration (3G), etc.), an intranet, the Internet, etc. Networkinterface(s) 580 may include, for example, a wireless network interfacehaving antenna 585, which may represent one or more antenna(e). Networkinterface(s) 580 may also include, for example, a wired networkinterface to communicate with remote devices via network cable 587,which may be, for example, an Ethernet cable, a coaxial cable, a fiberoptic cable, a serial cable, or a parallel cable.

Network interface(s) 580 may provide access to a LAN, for example, byconforming to IEEE 802.IIb and/or IEEE 802.IIg standards, and/or thewireless network interface may provide access to a personal areanetwork, for example, by conforming to Bluetooth standards. Otherwire-less network interfaces and/or protocols, including previous andsubsequent versions of the standards, may also be supported.

In addition to, or instead of, communication via the wireless LANstandards, network interface(s) 580 may provide wireless communicationusing, for example, Time Division, Multiple Access (TDMA) protocols,Global Systems for Mobile Communications (GSM) protocols, Code Division,Multiple Access (CDMA) protocols, and/or any other type of wirelesscommunications protocols.

Network interface(s) 580 may include one or more communicationinterfaces, such as a modem, a network interface card, or otherwell-known interface devices, such as those used for coupling to theEthernet, token ring, or other types of physical wired or wirelessattachments for purposes of providing a communication link to support aLAN or a WAN, for example. In this manner, the computer system may alsobe coupled to a number of peripheral devices, clients, control surfaces,consoles, or servers via a conventional network infrastructure,including an Intranet or the Internet, for example.

It is to be appreciated that a lesser or more equipped system than theexample described above may be preferred for certain implementations.Therefore, the configuration of computing system 500 may vary fromimplementation to implementation depending upon numerous factors, suchas price constraints, performance requirements, technologicalimprovements, or other circumstances. Examples of the electronic deviceor computer system 500 may include without limitation a mobile device, apersonal digital assistant, a mobile computing device, a smartphone, acellular telephone, a handset, a one-way pager, a two-way pager, amessaging device, a computer, a personal computer (PC), a desktopcomputer, a laptop computer, a notebook computer, a handheld computer, atablet computer, a server, a server array or server farm, a web server,a network server, an Internet server, a work station, a mini-computer, amain frame computer, a supercomputer, a network appliance, a webappliance, a distributed computing system, multiprocessor systems,processor-based systems, consumer electronics, programmable consumerelectronics, television, digital television, set top box, wirelessaccess point, base station, subscriber station, mobile subscribercenter, radio network controller, router, hub, gateway, bridge, switch,machine, or combinations thereof.

Embodiments may be implemented as any or a combination of: one or moremicrochips or integrated circuits interconnected using a parentboard,hardwired logic, software stored by a memory device and executed by amicroprocessor, firmware, an application specific integrated circuit(ASIC), and/or a field programmable gate array (FPGA). The term “logic”may include, by way of example, software or hardware and/or combinationsof software and hardware.

Embodiments may be provided, for example, as a computer program productwhich may include one or more machine-readable media having storedthereon machine-executable instructions that, when executed by one ormore machines such as a computer, network of computers, or otherelectronic devices, may result in the one or more machines carrying outoperations in accordance with embodiments described herein. Amachine-readable medium may include, but is not limited to, floppydiskettes, optical disks, CD-ROMs (Compact Disc-Read Only Memories), andmagneto-optical disks, ROMs, RAMs, EPROMs (Erasable Programmable ReadOnly Memories), EEPROMs (Electrically Erasable Programmable Read OnlyMemories), magnetic or optical cards, flash memory, or other type ofmedia/machine-readable medium suitable for storing machine-executableinstructions.

Moreover, embodiments may be downloaded as a computer program product,wherein the program may be transferred from a remote computer (e.g., aserver) to a requesting computer (e.g., a client) by way of one or moredata signals embodied in and/or modulated by a carrier wave or otherpropagation medium via a communication link (e.g., a modem and/ornetwork connection).

References to “one embodiment”, “an embodiment”, “example embodiment”,“various embodiments”, etc., indicate that the embodiment(s) sodescribed may include particular features, structures, orcharacteristics, but not every embodiment necessarily includes theparticular features, structures, or characteristics. Further, someembodiments may have some, all, or none of the features described forother embodiments.

In the following description and claims, the term “coupled” along withits derivatives, may be used. “Coupled” is used to indicate that two ormore elements co-operate or interact with each other, but they may ormay not have intervening physical or electrical components between them.

As used in the claims, unless otherwise specified the use of the ordinaladjectives “first”, “second”, “third”, etc., to describe a commonelement, merely indicate that different instances of like elements arebeing referred to, and are not intended to imply that the elements sodescribed must be in a given sequence, either temporally, spatially, inranking, or in any other manner.

The following clauses and/or examples pertain to further embodiments orexamples. Specifics in the examples may be used anywhere in one or moreembodiments. The various features of the different embodiments orexamples may be variously combined with some features included andothers excluded to suit a variety of different applications. Examplesmay include subject matter such as a method, means for performing actsof the method, at least one machine-readable medium includinginstructions that, when performed by a machine cause the machine toperforms acts of the method, or of an apparatus or system forfacilitating hybrid communication according to embodiments and examplesdescribed herein.

Some embodiments pertain to Example 1 that includes an apparatus tofacilitate gesture matching. The apparatus includes a gesture selectionengine to select a gesture from a database during an authenticationphase, an avatar animation and rendering engine to translate a selectedgesture into an animated avatar for display at a display device with aprompt for a user to perform the selected gesture, reception andcapturing logic to capture, in real-time, an image of a user and agesture matching component to compare the gesture performed by the userin the captured image to the selected gesture to determine whether thereis a match.

Example 2 includes the subject matter of Example 1, wherein the gesturematching component authenticates the user if the gesture performed bythe user in the captured image matches the selected gesture.

Example 3 includes the subject matter of Example 2, wherein the gesturematching component selects a key frame from the user image anddetermines a temporal sequence across multiple frames to compare thegesture performed by the user to the selected gesture.

Example 4 includes the subject matter of Example 3, wherein thecomparison is performed using a temporal sequence matching process.

Example 5 includes the subject matter of Example 1, further comprising agesture training module to identify gestures from images of a usercaptured at reception and capturing logic during a registration phaseand store the gestures in the database for recognition.

Example 6 includes the subject matter of Example 5, wherein the gesturetraining module stores the gestures as animation parameters.

Example 7 includes the subject matter of Example 6, wherein one of thecaptured gestures is selected from the database by the gesture selectionengine during the authentication phase.

Example 8 includes the subject matter of Example 1, further comprising agesture learning module to identify new gestures performed by the userand add the new gestures to the database.

Example 9 includes the subject matter of Example 8, wherein the gesturelearning module identifies a new gesture upon the gesture matchingcomponent determining that the gesture performed by the user does notmatch a gesture in the database.

Some embodiments pertain to Example 10 that includes a method tofacilitate gesture matching comprising selecting a gesture from adatabase during an authentication phase, translating the selectedgesture into an animated avatar, displaying the avatar, prompting a userto perform the selected gesture, capturing a real-time image of the userand comparing the gesture performed by the user in the captured image tothe selected gesture to determine whether there is a match.

Example 11 includes the subject matter of Example 10, further comprisingauthenticating the user if the gesture performed by the user in thecaptured image matches the selected gesture.

Example 12 includes the subject matter of Example 11, wherein comparingthe gesture performed by the user to the selected gesture comprisesselecting a key frame from the user image and determining a temporalsequence across multiple frames.

Example 13 includes the subject matter of Example 11, wherein thecomparison is performed using a temporal sequence matching process.

Example 14 includes the subject matter of Example 10, further comprisingperforming a registration process prior to the authentication phase.

Example 15 includes the subject matter of Example 14, wherein theregistration process comprises identifying gestures from captured imagesof the user and storing the gestures in the database for recognition.

Example 16 includes the subject matter of Example 15, wherein thegestures are stored as animation parameters.

Example 17 includes the subject matter of Example 16, wherein one of thecaptured gestures is selected from the database during theauthentication phase.

Example 18 includes the subject matter of Example 10, further comprisingidentifying new gestures performed by the user and adding the newgestures to the database.

Example 19 includes the subject matter of Example 18, wherein a newgesture is identified upon determining that the gesture performed by theuser does not match a gesture in the database.

Some embodiments pertain to Example 20 that includes at least onemachine-readable medium comprising a plurality of instructions that inresponse to being executed on a computing device, causes the computingdevice to carry out operations according to any one of claims 10 to 19.

Some embodiments pertain to Example 21 that includes an apparatus tofacilitate gesture matching, comprising means for selecting a gesturefrom a database during an authentication phase, means for translatingthe selected gesture into an animated avatar, means for displaying theavatar, means for prompting a user to perform the selected gesture,means for capturing a real-time image of the user and means forcomparing the gesture performed by the user in the captured image to theselected gesture to determine whether there is a match.

Example 22 includes the subject matter of Example 21, further comprisingmeans for performing registration process prior to the authenticationphase.

Example 23 includes the subject matter of Example 22, wherein the meansfor registration comprises means for identifying gestures from capturedimages of the user and means for storing the gestures in the databasefor recognition.

Example 24 includes the subject matter of Example 22, further comprisingmeans for identifying new gestures performed by the user and means foradding the new gestures to the database.

Example 25 includes the subject matter of Example 24, wherein a newgesture is identified upon determining that the gesture performed by theuser does not match a gesture in the database.

Some embodiments pertain to Example 26 that includes at least onemachine-readable medium comprising a plurality of instructions that inresponse to being executed on a computing device, causes the computingdevice to carry out operations comprising selecting a gesture from adatabase during an authentication phase, translating the selectedgesture into an animated avatar, displaying the avatar, prompting a userto perform the selected gesture, capturing a real-time image of the userand comparing the gesture performed by the user in the captured image tothe selected gesture to determine whether there is a match.

Example 27 includes the subject matter of Example 26, comprising aplurality of instructions that in response to being executed on acomputing device, causes the computing device to further carry outoperations comprising performing registration process prior to theauthentication phase.

Example 28 includes the subject matter of Example 27, wherein theregistration process comprises identifying gestures from captured imagesof the user and means for storing the gestures in the database forrecognition.

Example 29 includes the subject matter of Example 26, comprising aplurality of instructions that in response to being executed on acomputing device, causes the computing device to further carry outoperations comprising identifying new gestures performed by the user andadding the new gestures to the database.

Example 30 includes the subject matter of Example 29, wherein a newgesture is identified upon determining that the gesture performed by theuser does not match a gesture in the database.

The drawings and the forgoing description give examples of embodiments.Those skilled in the art will appreciate that one or more of thedescribed elements may well be combined into a single functionalelement. Alternatively, certain elements may be split into multiplefunctional elements. Elements from one embodiment may be added toanother embodiment. For example, orders of processes described hereinmay be changed and are not limited to the manner described herein.Moreover, the actions any flow diagram need not be implemented in theorder shown; nor do all of the acts necessarily need to be performed.Also, those acts that are not dependent on other acts may be performedin parallel with the other acts. The scope of embodiments is by no meanslimited by these specific examples. Numerous variations, whetherexplicitly given in the specification or not, such as differences instructure, dimension, and use of material, are possible. The scope ofembodiments is at least as broad as given by the following claims.

What is claimed is:
 1. A machine readable storage device or disccomprising instructions that, when executed, cause programmablecircuitry to at least: prompt a user to perform gestures to register theuser; randomly select at least one of the gestures for authentication ofthe user; prompt the user to perform the at least one selected gesture;translate the gesture into an animated avatar for display at a displaydevice, the animated avatar including a face; analyze performance of thegesture by the user; and authenticate the user based on the performanceof the gesture.
 2. The machine readable storage device or disc of claim1, wherein the instructions, when executed, cause the programmablecircuitry to implement a comparison between the at least one selectedgesture and the performance of the gesture.
 3. The machine readablestorage device or disc of claim 2, wherein, to implement the comparison,the instructions, when executed, cause the programmable circuitry tocompare a first temporal sequence of parameters corresponding to the atleast one selected gesture to a second temporal sequence of parameterscorresponding to the performance of the gesture.
 4. The machine readablestorage device or disc of claim 3, wherein, to compare the firsttemporal sequence of parameters corresponding to the at least oneselected gesture to the second temporal sequence of parameterscorresponding to the performance of the gesture, the instructions, whenexecuted, cause the programmable circuitry to apply dynamic timewarping.
 5. The machine readable storage device or disc of claim 2,wherein the user is authenticated in response to the comparison beingindicative of a match between the at least one selected gesture and theperformance of the gesture.
 6. The machine readable storage device ordisc of claim 1, wherein the gesture includes a facial movement of theuser over time.
 7. The machine readable storage device or disc of claim1, wherein, to register the user, the instructions, when executed, causethe programmable circuitry to generate animation parameterscorresponding to the performed gestures.
 8. A machine readable storagedevice or disc comprising instructions that, when executed, causeprogrammable circuitry to at least: prompt a user to perform gestures toregister the user; randomly select at least one of the gestures forauthentication of the user; prompt the user to perform the at least oneselected gesture; translate performance of the gesture by the user intoan animated avatar for display at a display device, the animated avatarincluding a face; analyze performance of the gesture by the user; andauthenticate the user based on the performance of the gesture.
 9. Themachine readable storage device or disc of claim 8, wherein theinstructions, when executed, cause the programmable circuitry to comparethe performance of the gesture and the at least one selected gesture.10. The machine readable storage device or disc of claim 9, wherein, tocompare the performance of the gesture and the at least one selectedgesture, the instructions, when executed, cause the programmablecircuitry to compare a first temporal sequence of parameterscorresponding to the performance of the gesture to a second temporalsequence of parameters corresponding to the at least one selectedgesture.
 11. The machine readable storage device or disc of claim 9,wherein the user is authenticated in response to the at least oneselected gesture matching the performance of the gesture.
 12. Themachine readable storage device or disc of claim 8, wherein theperformance of the gesture includes a facial movement of the user. 13.The machine readable storage device or disc of claim 8, wherein, toregister the user, the instructions, when executed, cause theprogrammable circuitry to determine an animation parameter based on theperformed gestures.
 14. The machine readable storage device or disc ofclaim 8, wherein the animated avatar includes a head and theinstructions, when executed, cause the programmable circuitry to causethe animated avatar to move the head.
 15. A machine readable storagedevice or disc comprising instructions that, when executed, causeprogrammable circuitry to at least: select a gesture for authenticationof a user; prompt the user to perform the selected gesture; translatethe selected gesture into an animated avatar for display at a displaydevice, the animated avatar including a face; analyze performance of thegesture by the user; and authenticate the user based on the performanceof the gesture.
 16. The machine readable storage device or disc of claim15, wherein the instructions, when executed, cause the programmablecircuitry to perform a comparison between the performance of the gestureand the selected gesture.
 17. The machine readable storage device ordisc of claim 16, wherein, to perform the comparison, the instructions,when executed, cause the programmable circuitry to compare a firstsequence of parameters corresponding to the performance of the gestureto a second sequence of parameters corresponding to the selectedgesture.
 18. The machine readable storage device or disc of claim 15,wherein the gesture includes a facial movement.
 19. The machine readablestorage device or disc of claim 15, wherein, to register the user, theinstructions, when executed, cause the programmable circuitry toidentify animation parameters corresponding to the performed gestures.20. The machine readable storage device or disc of claim 15, wherein theinstructions, when executed, cause the programmable circuitry todetermine whether the performance of the gesture is indicative of theuser having a health problem.